package cn.s1995.sloth.bizs.oo.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * SyhSkuDTO
 *
 * @author Lex
 * @description
 * @date 2024/01/12 14:13
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class SyhSkuDTO implements Serializable {
    @JsonProperty("_id")
    private Id id;
    @JsonProperty("ids")
    private String ids;
    @JsonProperty("price")
    private BigDecimal price;
    @JsonProperty("lower_than_tmall_price")
    private BigDecimal lowerThanTmallPrice;
    @JsonProperty("lower_than_jd_price")
    private BigDecimal lowerThanJdPrice;
    @JsonProperty("stock")
    private Long stock;
    @JsonProperty("image")
    private String image;
    @JsonProperty("furniture_id")
    private Id furnitureId;
    @JsonProperty("user_id")
    private Id userId;
    @JsonProperty("sell_count")
    private Integer sellCount;
    @JsonProperty("is_delete")
    private Integer isDelete;
    @JsonProperty("delete_date")
    private Long deleteDate;
    @JsonProperty("create_date")
    private Long createDate;
    @JsonProperty("update_date")
    private Long updateDate;
    @JsonProperty("origin_price")
    private BigDecimal originPrice;
    @JsonProperty("base_sell_count")
    private Integer baseSellCount;
    @JsonProperty("starting_count")
    private Integer startingCount;
    @JsonProperty("height")
    private Integer height;
    @JsonProperty("size")
    private Integer size;
    @JsonProperty("width")
    private Integer width;
    @JsonProperty("id_array")
    private List<String> idArray;
    @JsonProperty("skus")
    private List<Skus> skus;

    @JsonIgnoreProperties(ignoreUnknown = true)
    @Data
    public static class Id implements Serializable {
        @JsonProperty("$oid")
        private String oid;
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    @Data
    public static class Skus implements Serializable {
        @JsonProperty("k_id")
        private String kId;
        @JsonProperty("k")
        private String k;
        @JsonProperty("v_id")
        private String vId;
        @JsonProperty("v")
        private String v;
    }
}
